package view.commonview;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.SwingConstants;

/**
 * <b>Erbt:</b> <code>JLabel</code> <br>
 * <b>Funktion:</b> Anzeige des aktuellen Schaltungstyps<br>
 * <br>
 * Label, das den aktuellen Schaltungstyp anzeigt. Die Anzeige wird durch den
 * entsprechenden Aufruf der Methoden der <code>EditorArea</code> gesetzt. Die
 * Information darueber, ob es sich um ein Schaltnetz oder ein Schaltwerk
 * handelt befindet sich im <code>CircuitModel</code>.
 * 
 * @author Team Locsi
 * 
 */
@SuppressWarnings("serial")
public class CircuitTypeArea extends JLabel {

	/**
	 * Dieser Konstrutor erzeugt ein neues <code>CircuitTypeArea</code> -
	 * Objekt.
	 */
	public CircuitTypeArea() {
		this.setBorder(BorderFactory.createLoweredBevelBorder());
		this.setPreferredSize(new Dimension(0, 30));
		this.setBackground(Color.WHITE);
		this.setHorizontalAlignment(SwingConstants.CENTER);
		this.setVerticalAlignment(SwingConstants.CENTER);
		this.setText("Leere Schaltung");
		this.setFont(new Font("Serif", Font.BOLD | Font.ITALIC, 14));
	}

	/**
	 * Diese Methode setzt den in der <code>CircuitTypeArea</code> angezeigten
	 * Text auf <i>Schaltwerk</i>.
	 */
	public void setToLogicCircuit() {
		this.setText("Schaltwerk");
	}

	/**
	 * Diese Methode setzt den in der <code>CircuitTypeArea</code> angezeigten
	 * Text auf <i>Schaltnetz</i>.
	 */
	public void setToLogicNet() {
		this.setText("Schaltnetz");
	}

	/**
	 * Diese Methode setzt den in der <code>CircuitTypeArea</code> angezeigten
	 * Text auf <i>Leere Schaltung</i>.
	 */
	public void setToDefault() {
		this.setText("Leere Schaltung");
	}
	
	/**
	 * Diese Methode setzt den in der <code>CircuitTypeArea</code> angezeigten
	 * Text auf <i>Aus Performanzgründen nicht mehr berechnet</i>.
	 */
	public void setToUnknown() {
		this.setText("Aus Performanzgründen nicht mehr berechnet");
	}
}